When computers first started displaying graphics, the graphics were rudimentary. The graphics tended to depict objects using lines that define the edges and boundaries of the object while leaving the object relatively barren of any detail.
Over time, the capability of computers to display graphics having more detail (e.g., realism) has increased significantly. One relatively-modern approach in computer graphics is texturing or texture synthesis. In texturing, a source texture and a set of boundary conditions are used to generate a new graphic that adheres to the boundary conditions yet has an appearance similar to the source texture. For example, a plaid colored chair may be generated based on an input graphic of an arbitrarily colored chair and a plaid swatch without having to reconstruct the chair using a plaid coloring.
Previous texture synthesis techniques may be used to generate graphics that have various surface properties defined by an input texture, including color, reflection, transparency, or displacements. However, graphics generated using the previous texture synthesis techniques lack a desirable level of realism due to a lack of information about individual texture elements.